package com.quectel.core.module.forum.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 *
 * @author bob
 * @email bob.yu@quectel.com
 * @date 2023/05/10 11:21
 */
@Data
@Schema
public class ForumMuteReq implements Serializable {
    /**
     * 租户Id
     */
    @Schema(description = "租户Id")
    @NotNull
    private Long tenantId;

    /**
     * 租户Id
     */
    @Schema(description = "租户Id")
    @NotNull
    private Long auditUserId;

    /**
     * 来源类型
     */
    @Schema(description = "来源类型")
    @NotNull
    private Byte sourceType;

    /**
     * 来源id
     */
    @Schema(description = "来源id")
    @NotNull
    private Long sourceId;

    /**
     * 移动端发帖人
     */
    @Schema(description = "移动端发帖人")
    @NotNull
    private Long mobileUserId;


    @Schema(description = "封禁原因")
    @NotEmpty
    @NotNull
    private List<Byte> violationTypes;

    @Schema(description = "封禁备注")
    @NotBlank
    private String remark;

    /**
    * 开始时间
    */
    @Schema(description = "开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @NotNull
    private Date startTime;

    /**
    * 结束时间
    */
    @Schema(description = "结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @NotNull
    private Date endTime;

}
